gtk4.git
4 years agox11: Trap error when getting CRTC info
Jonas Ådahl [Wed, 17 Nov 2021 10:14:00 +0000 (11:14 +0100)]
x11: Trap error when getting CRTC info

This should fix a race happening when RANDR changes quickly, e.g. during
unit testing where tests change monitor configurations rapidly.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 22:23:31 +0000 (22:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Fix formatting error in demo about dialogs

See merge request GNOME/gtk!4166

4 years agoFix formatting error in demo about dialogs
Matthias Clasen [Sat, 13 Nov 2021 21:27:50 +0000 (16:27 -0500)]
Fix formatting error in demo about dialogs

Try harder to format things nicely.

4 years agoMerge branch 'bilelmoussaoui/since-annotations' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 21:34:58 +0000 (21:34 +0000)]
Merge branch 'bilelmoussaoui/since-annotations' into 'master'

g-i: add missing since annotations

See merge request GNOME/gtk!4154

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 21:31:48 +0000 (21:31 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

build: Actually use the extra warnings

See merge request GNOME/gtk!4157

4 years agoMerge branch 'wip/carlosg/x11-wm-drags' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 17:21:38 +0000 (17:21 +0000)]
Merge branch 'wip/carlosg/x11-wm-drags' into 'master'

gtkmain: Disable implicit grab active state on CROSSING_GRAB leave events

Closes #4416

See merge request GNOME/gtk!4162

4 years agoMerge branch 'compose-cache-symlinks' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 17:21:04 +0000 (17:21 +0000)]
Merge branch 'compose-cache-symlinks' into 'master'

composetable: invalidate cache based on symlink mtime too

See merge request GNOME/gtk!4163

4 years agoMerge branch 'wip/carlosg/cancelled-gestures' into 'master'
Matthias Clasen [Tue, 16 Nov 2021 17:19:55 +0000 (17:19 +0000)]
Merge branch 'wip/carlosg/cancelled-gestures' into 'master'

gtkwidget: Do not check event sequence state before cancelling gesture

Closes #4387

See merge request GNOME/gtk!4160

4 years agoUpdate Basque translation
Asier Sarasua Garmendia [Tue, 16 Nov 2021 16:28:52 +0000 (16:28 +0000)]
Update Basque translation

4 years agoMerge branch 'ebassi/docs-fixes' into 'master'
Emmanuele Bassi [Tue, 16 Nov 2021 14:04:50 +0000 (14:04 +0000)]
Merge branch 'ebassi/docs-fixes' into 'master'

Small documentation fixes

See merge request GNOME/gtk!4158

4 years agodocs: Add blurb for GtkEditableProperties.
Emmanuele Bassi [Tue, 16 Nov 2021 13:50:52 +0000 (13:50 +0000)]
docs: Add blurb for GtkEditableProperties.

4 years agodocs: Fix description for CellRendererAccelMode
Emmanuele Bassi [Tue, 16 Nov 2021 13:41:52 +0000 (13:41 +0000)]
docs: Fix description for CellRendererAccelMode

Link to the property, instead of copy-pasting its description.

4 years agodocs: Fix link in GtkSymbolicColor description
Emmanuele Bassi [Tue, 16 Nov 2021 13:37:33 +0000 (13:37 +0000)]
docs: Fix link in GtkSymbolicColor description

4 years agocomposetable: invalidate cache based on symlink mtime too
Naïm Favier [Tue, 16 Nov 2021 11:53:38 +0000 (12:53 +0100)]
composetable: invalidate cache based on symlink mtime too

When the compose file is a symbolic link, take the link itself's
modification time into account (in addition to its target's) in
determining whether to invalidate the compose cache.

This is useful e.g. on NixOS systems where the compose file might point
to a store path with an irrelevant modification time, and we want the
cache to expire when the symlink itself changes.

4 years agogtkmain: Disable implicit grab active state on CROSSING_GRAB leave events
Carlos Garnacho [Tue, 16 Nov 2021 09:52:35 +0000 (10:52 +0100)]
gtkmain: Disable implicit grab active state on CROSSING_GRAB leave events

This grab-induced crossing event may come from outer means while there are
buttons pressed (e.g. WM window drags/resizes in X11), the implicit active
state should be undone in that situation.

Also, separate the handling of GDK_LEAVE_NOTIFY, as it's fundamentally
different from GDK_TOUCH_END/CANCEL handling.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4416
4 years agogtkgesture: Do not cancel gesture when setting DENIED state
Carlos Garnacho [Mon, 15 Nov 2021 22:45:47 +0000 (23:45 +0100)]
gtkgesture: Do not cancel gesture when setting DENIED state

Touchpoint state and tracking are tangential, this is mixing up both.
This change was added in the fixes for
https://gitlab.gnome.org/GNOME/gtk/-/issues/3016 but is now unnecessary.

4 years agogtkwidget: Do not check event sequence state before cancelling gesture
Carlos Garnacho [Mon, 15 Nov 2021 22:39:48 +0000 (23:39 +0100)]
gtkwidget: Do not check event sequence state before cancelling gesture

The sequence should be cancelled from the gesture despite its current state.
Also, there was a piece of pointer emulation that was not dropped here,
maybe breaking things further for the pointer emulated touchpoint.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4387
4 years agodocs: Annotate Label.get_selection_bounds() out arguments
Emmanuele Bassi [Mon, 15 Nov 2021 15:33:56 +0000 (15:33 +0000)]
docs: Annotate Label.get_selection_bounds() out arguments

They are optional, and should be marked as such.

See issue: #4452

4 years agodocs: Enable OpenSearch on our references
Emmanuele Bassi [Mon, 15 Nov 2021 15:31:35 +0000 (15:31 +0000)]
docs: Enable OpenSearch on our references

By adding the `docs_url` key in the project configuration file,
gi-docgen will generate an OpenSearch XML file, which allows to add
docs.gtk.org/<reference> as a "search engine" in web browsers.

4 years agobuild: Disable gcc warnings as warnings, too
Benjamin Otte [Mon, 15 Nov 2021 14:34:05 +0000 (15:34 +0100)]
build: Disable gcc warnings as warnings, too

We use -Werror in the build, so even if some warnings are just warnings,
they'd be errors.

4 years agobuild: Actually use the extra warnings
Benjamin Otte [Mon, 15 Nov 2021 13:58:52 +0000 (14:58 +0100)]
build: Actually use the extra warnings

I forgot to remove the '-Werror=' part from all the extra warnings, so
the warning/error flags we generated were '-Werror=-Werror=warning-flag'
or 'W-Werror=warning-flag' - but because our compiler flag checking
infrastructure works so nicely, it just ignored these obviously wrong
flags.

Fixes commit 362e91c40b5036ec0ac0a5a0c231a4b58414509f

4 years agog-i: add missing since annotations
Bilal Elmoussaoui [Sat, 13 Nov 2021 16:33:15 +0000 (17:33 +0100)]
g-i: add missing since annotations

4 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Nov 2021 13:58:59 +0000 (13:58 +0000)]
Update Croatian translation

4 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Nov 2021 13:06:50 +0000 (13:06 +0000)]
Update Croatian translation

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Thu, 11 Nov 2021 22:30:08 +0000 (22:30 +0000)]
Update Hebrew translation

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Thu, 11 Nov 2021 22:29:14 +0000 (22:29 +0000)]
Update Hebrew translation

4 years agoUpdate POTFILES.skip
Piotr Drąg [Thu, 11 Nov 2021 13:23:08 +0000 (14:23 +0100)]
Update POTFILES.skip

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Thu, 11 Nov 2021 04:39:58 +0000 (04:39 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

label: Don't do more work than necessary

See merge request GNOME/gtk!4149

4 years agolabel: Don't do more work than necessary
Benjamin Otte [Thu, 11 Nov 2021 04:21:43 +0000 (05:21 +0100)]
label: Don't do more work than necessary

We only want to determine the size pixel-exact, not pango-unit-exact, so
don't spend lots of time wondering if text is half a pixel or a quarter
pixel wider.

4 years agoMerge branch 'wip/otte/no-errors-ever-again' into 'master'
Matthias Clasen [Thu, 11 Nov 2021 00:50:09 +0000 (00:50 +0000)]
Merge branch 'wip/otte/no-errors-ever-again' into 'master'

build: Don't use any -Werror in release builds

Closes #4388

See merge request GNOME/gtk!4148

4 years agobuild: Don't use any -Werror in release builds
Benjamin Otte [Wed, 10 Nov 2021 19:01:36 +0000 (20:01 +0100)]
build: Don't use any -Werror in release builds

Do kep them for debug and debugoptimized builds though.

Keeping -Werror flags in release builds causes issues with forward
compatibility, when new compiler releases or different toolchains
suddenly cause those warnings to be emitted during compilation.

While we certainly want those issues to be investigated and fixed, they
should not prevent anyone from building GTK until they are.

Resolves #4388

4 years agoUpdate Occitan translation
Quentin PAGÈS [Wed, 10 Nov 2021 18:17:30 +0000 (18:17 +0000)]
Update Occitan translation

(cherry picked from commit 7520524aed0272002b121d520df251ef0ea1c8d8)

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Wed, 10 Nov 2021 16:44:56 +0000 (16:44 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

css: Don't crash when color stop offsets descend

Closes #4424

See merge request GNOME/gtk!4143

4 years agocss: Don't crash when color stop offsets descend
Benjamin Otte [Wed, 10 Nov 2021 16:26:13 +0000 (17:26 +0100)]
css: Don't crash when color stop offsets descend

Testcase included.

Fixes #4424

4 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 10 Nov 2021 10:32:36 +0000 (11:32 +0100)]
Updated Spanish translation

4 years agoMerge branch 'flatpak-build-fix' into 'master'
Matthias Clasen [Tue, 9 Nov 2021 20:49:31 +0000 (20:49 +0000)]
Merge branch 'flatpak-build-fix' into 'master'

flatpak: Add pango to manifest

See merge request GNOME/gtk!4142

4 years agoflatpak: Add pango to manifest
Matthias Clasen [Tue, 9 Nov 2021 20:25:48 +0000 (15:25 -0500)]
flatpak: Add pango to manifest

We have a tight coupling with pango, whenever new
pango API appears, our build usually breaks. So
just make our flatpak manifests build pango from git.

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 9 Nov 2021 19:49:37 +0000 (19:49 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

gtk-demo: Don't use deprecated librsvg API

See merge request GNOME/gtk!4141

4 years agogtk-demo: Don't use deprecated librsvg API
Benjamin Otte [Tue, 9 Nov 2021 19:28:53 +0000 (20:28 +0100)]
gtk-demo: Don't use deprecated librsvg API

New API requires a newer librsvg version, so require that one.

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 9 Nov 2021 18:31:42 +0000 (18:31 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

label: Handle width-chars > text width

See merge request GNOME/gtk!4139

4 years agolabel: Handle width-chars > text width
Benjamin Otte [Tue, 9 Nov 2021 16:49:40 +0000 (17:49 +0100)]
label: Handle width-chars > text width

This was broken in wrapping labels.

Testcase included.

4 years agoMerge branch 'wip/jimmac/unfocused-selections' into 'master'
Matthias Clasen [Tue, 9 Nov 2021 11:34:37 +0000 (11:34 +0000)]
Merge branch 'wip/jimmac/unfocused-selections' into 'master'

styling: Have unfocused selections

Closes #4393

See merge request GNOME/gtk!4113

4 years agoMerge branch 'master' into 'master'
Matthias Clasen [Tue, 9 Nov 2021 11:28:35 +0000 (11:28 +0000)]
Merge branch 'master' into 'master'

Fix typos

See merge request GNOME/gtk!4132

4 years agoUpdate Occitan translation
Quentin PAGÈS [Tue, 9 Nov 2021 09:45:47 +0000 (09:45 +0000)]
Update Occitan translation

4 years agoUpdate Italian translation
Milo Casagrande [Tue, 9 Nov 2021 08:52:14 +0000 (08:52 +0000)]
Update Italian translation

(cherry picked from commit 3eb1ca3ecbbe4208fc2fb974a25b16a51fdb1b15)

4 years agoUpdate Italian translation
Milo Casagrande [Tue, 9 Nov 2021 08:34:39 +0000 (08:34 +0000)]
Update Italian translation

(cherry picked from commit 4fa318fa194003af9e13199eb3af87b1fd8af86d)

4 years agoMerge branch 'gdksurface-wayland' into 'master'
Jonas Ådahl [Tue, 9 Nov 2021 06:56:27 +0000 (06:56 +0000)]
Merge branch 'gdksurface-wayland' into 'master'

Move some members of `GtkWaylandSurface` to `GtkWaylandToplevel`

See merge request GNOME/gtk!3918

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 9 Nov 2021 03:15:00 +0000 (03:15 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

lots of sizing fixes

See merge request GNOME/gtk!4131

4 years agoboxlayout: Fix broken min-size-for-opposite-size
Benjamin Otte [Tue, 9 Nov 2021 02:28:29 +0000 (03:28 +0100)]
boxlayout: Fix broken min-size-for-opposite-size

Assume a vbox with 2 wrapping labels saying
  Hello World
  Hi Ho
being measured for their minimum width for 3 rows of text.
This should be layouted like
  Hello
  World
  Hi Ho
and measured accordingly.

However, previously this was layouted as
  Hello World
  Hi Ho
with 1.5 lines being assigned to both labels.
That will obviously not compute the above wrapping which clearly
results in a smaller min width.

A reftest testing exactly this was included.

4 years agoboxlayout: Split loop into if statmement
Benjamin Otte [Tue, 9 Nov 2021 00:59:08 +0000 (01:59 +0100)]
boxlayout: Split loop into if statmement

Turns it into 2 loops, one for the homogeneous part and one for the
complicated part.

4 years agoboxlayout: Don't listen to comments
Benjamin Otte [Mon, 8 Nov 2021 16:49:15 +0000 (17:49 +0100)]
boxlayout: Don't listen to comments

... when they are wrong.

Instead, remove them.

Or in other words: GTK4 does not have a fill child property anymore, so
we don't need to run the measuring loop above to determine the size.

4 years agoRevert "sizerequest: Only check reported baselines if requested"
Benjamin Otte [Sat, 6 Nov 2021 17:26:41 +0000 (18:26 +0100)]
Revert "sizerequest: Only check reported baselines if requested"

This reverts commit cf7fa931d380c6d205478c87f0f3973f496f9d2a.

We store the baseline in the cache and we do not know if baselines might
be queried in the future. So always store them.

No reftest because I don't know how to write one.

premature optimization == √😈

4 years agodemos: Update for climate change and Covid
Benjamin Otte [Sat, 6 Nov 2021 15:39:01 +0000 (16:39 +0100)]
demos: Update for climate change and Covid

4 years agolabel: max-width-chars should be ignored sometimes
Benjamin Otte [Sat, 6 Nov 2021 15:25:11 +0000 (16:25 +0100)]
label: max-width-chars should be ignored sometimes

When a widget is neither wrappable nor ellipsizable, we cannot modify
the label to fit into any size. So we cannot respect max-width-chars.

4 years agolabel: max-width-chars has no effect on smaller text
Benjamin Otte [Sat, 6 Nov 2021 15:17:59 +0000 (16:17 +0100)]
label: max-width-chars has no effect on smaller text

Having a short text and a large max-width-chars should request the
natural width of the text, not the limit from max-width-chars.

This caused huge message dialogs.

Reftests added.

4 years agogdk/wayland/surface: Remove unused argument
Ian Douglas Scott [Fri, 3 Sep 2021 23:37:56 +0000 (16:37 -0700)]
gdk/wayland/surface: Remove unused argument

4 years agogdk/wayland/surface: Move `*idle_inhibitor*` to `GdkWaylandToplevel`
Ian Douglas Scott [Fri, 3 Sep 2021 22:16:59 +0000 (15:16 -0700)]
gdk/wayland/surface: Move `*idle_inhibitor*` to `GdkWaylandToplevel`

4 years agogdk/wayland/surface: Move `*exported` to `GdkWaylandToplevel`
Ian Douglas Scott [Fri, 3 Sep 2021 21:58:18 +0000 (14:58 -0700)]
gdk/wayland/surface: Move `*exported` to `GdkWaylandToplevel`

4 years agogdk/wayland/surface: Move `server_decoration` to `GdkWaylandToplevel`
Ian Douglas Scott [Fri, 3 Sep 2021 21:37:52 +0000 (14:37 -0700)]
gdk/wayland/surface: Move `server_decoration` to `GdkWaylandToplevel`

4 years agoUpdate Catalan translation
Jordi Mas i Hernandez [Mon, 8 Nov 2021 20:35:15 +0000 (20:35 +0000)]
Update Catalan translation

4 years agoUpdate Catalan translation
Jordi Mas i Hernandez [Mon, 8 Nov 2021 19:58:52 +0000 (19:58 +0000)]
Update Catalan translation

4 years agoMerge branch 'small-caps' into 'master'
Matthias Clasen [Mon, 8 Nov 2021 19:39:55 +0000 (19:39 +0000)]
Merge branch 'small-caps' into 'master'

Handle new pango api

See merge request GNOME/gtk!4137

4 years agoBump the pango requirement to 1.49.3
Matthias Clasen [Mon, 8 Nov 2021 13:10:33 +0000 (08:10 -0500)]
Bump the pango requirement to 1.49.3

Required for new PangoVariant enumeration values.

4 years agocss: Change the way case variants are handled
Matthias Clasen [Mon, 8 Nov 2021 13:08:19 +0000 (08:08 -0500)]
css: Change the way case variants are handled

Instead of translating font-variant-caps directly
to OpenType features, translate them to a PangoVariant,
now that that enumeration reflects all the css values.

This allows pango to emulate Small Caps for fonts that
don't support the OpenType feature.

4 years agoHandle new pango api
Matthias Clasen [Mon, 8 Nov 2021 13:07:35 +0000 (08:07 -0500)]
Handle new pango api

The PangoVariant enumeration has gained new values
to match css. Handle those in switches.

4 years agotextview: Don't leave embedded children behind
Matthias Clasen [Fri, 5 Nov 2021 22:54:06 +0000 (18:54 -0400)]
textview: Don't leave embedded children behind

When scrolling embedded widgets out of view,
they sometimes get left behind because we don't
reallocated them. To avoid that, move _all_ children
out of view in size_allocate, and let the current
child allocation plumbing move the visible ones
back in place.

4 years agoRemove a confusing comment
Matthias Clasen [Fri, 5 Nov 2021 19:37:52 +0000 (15:37 -0400)]
Remove a confusing comment

It talks about propagating to unanchored children,
but then iterates over anchored_children. That does
not add up.

4 years agogtk-demo: Avoid a missing icon
Matthias Clasen [Fri, 5 Nov 2021 19:26:27 +0000 (15:26 -0400)]
gtk-demo: Avoid a missing icon

The hypertext demo was using an icon that we no longer
include in our embedded icon theme. Use a different one.

4 years agoMerge branch 'forward-port-mr-3931-to-gtk4' into 'master'
Luca Bacci [Mon, 8 Nov 2021 18:55:07 +0000 (18:55 +0000)]
Merge branch 'forward-port-mr-3931-to-gtk4' into 'master'

Remove the GdkWin32 global screen offset

Closes #4348 and #1477

See merge request GNOME/gtk!4104

4 years agoUpdate Portuguese translation
Hugo Carvalho [Mon, 8 Nov 2021 11:27:19 +0000 (11:27 +0000)]
Update Portuguese translation

4 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 8 Nov 2021 09:32:50 +0000 (10:32 +0100)]
Updated Spanish translation

4 years agoMerge branch 'ebassi/for-master' into 'master'
Emmanuele Bassi [Sun, 7 Nov 2021 23:40:14 +0000 (23:40 +0000)]
Merge branch 'ebassi/for-master' into 'master'

docs: Fix typo in link

See merge request GNOME/gtk!4135

4 years agodocs: Fix typo in link
Emmanuele Bassi [Sun, 7 Nov 2021 23:23:36 +0000 (23:23 +0000)]
docs: Fix typo in link

4 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 7 Nov 2021 21:30:40 +0000 (21:30 +0000)]
Update Portuguese translation

4 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 7 Nov 2021 21:27:49 +0000 (21:27 +0000)]
Update Portuguese translation

4 years agoMerge branch 'ebassi/docs-link-fixes' into 'master'
Emmanuele Bassi [Sun, 7 Nov 2021 19:08:16 +0000 (19:08 +0000)]
Merge branch 'ebassi/docs-link-fixes' into 'master'

docs: Fix wrong fragments in type links

See merge request GNOME/gtk!4134

4 years agodocs: Fix wrong fragments in type links
Emmanuele Bassi [Sun, 7 Nov 2021 18:22:10 +0000 (18:22 +0000)]
docs: Fix wrong fragments in type links

Due to a bug in gi-docgen we're not getting a warning if a fragment to a
type does not match the actual type, and we're generating a broken link.

See: https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/120

4 years agoMerge branch 'these-are-flags' into 'master'
Emmanuele Bassi [Sun, 7 Nov 2021 18:21:28 +0000 (18:21 +0000)]
Merge branch 'these-are-flags' into 'master'

docs: Tag Gdk.ModifierType as flags

See merge request GNOME/gtk!4133

4 years agoGdkWin32: Remove the global screen offset
Luca Bacci [Fri, 29 Oct 2021 16:39:52 +0000 (18:39 +0200)]
GdkWin32: Remove the global screen offset

Removes the _gdk_offset_x / _gdk_offset_y variables,
as today are not needed anymore.

4 years agoGdkWin32: Use a signed integral type for the DPI scale
Luca Bacci [Fri, 29 Oct 2021 15:54:10 +0000 (17:54 +0200)]
GdkWin32: Use a signed integral type for the DPI scale

4 years agodocs: Tag Gdk.ModifierType as flags
Marco Melorio [Sun, 7 Nov 2021 17:14:15 +0000 (18:14 +0100)]
docs: Tag Gdk.ModifierType as flags

4 years agoFix typos
Hodong Kim [Sun, 7 Nov 2021 07:48:39 +0000 (16:48 +0900)]
Fix typos

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sat, 6 Nov 2021 04:16:55 +0000 (04:16 +0000)]
Update Ukrainian translation

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Sat, 6 Nov 2021 03:54:08 +0000 (03:54 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

boxlayout: Be more careful with what to consider natural size

See merge request GNOME/gtk!4129

4 years agoreftests: Add reftest for last 2 issues
Benjamin Otte [Sat, 6 Nov 2021 02:38:03 +0000 (03:38 +0100)]
reftests: Add reftest for last 2 issues

Use a label that is long enough to require wrapping and force it into a
hardcoded width. Use a sentence where all the words have the same size
to not get unwanted wrapping behavior.

Also append a 2nd row to check that the first row gets the proper height
allocated.

Found by Marco Melorio.

4 years agolabel: Don't deduce label width from logical rect
Benjamin Otte [Sat, 6 Nov 2021 02:15:04 +0000 (03:15 +0100)]
label: Don't deduce label width from logical rect

The width of a logical rect after line breaking is sometimes not
wide enough to cause line breaking to break at the exact same points.
(Is that by design or a bug in Pango? I don't know.)

So don't use the width, and only relyon values we actually set to
pango_layout_set_width().

4 years agoboxlayout: Be more careful with what to consider natural size
Benjamin Otte [Fri, 5 Nov 2021 23:56:11 +0000 (00:56 +0100)]
boxlayout: Be more careful with what to consider natural size

Don't just use the natural size as the max size, the natural size
is the ideal size, not necessarily the maximum size.

Also check the nat size for opposite min size.

4 years agoMerge branch 'remove_some_unused_declarations' into 'master'
Matthias Clasen [Fri, 5 Nov 2021 23:08:56 +0000 (23:08 +0000)]
Merge branch 'remove_some_unused_declarations' into 'master'

remove some unused declarations

See merge request GNOME/gtk!4125

4 years agoMerge branch 'wip/baedert/for-master' into 'master'
Matthias Clasen [Fri, 5 Nov 2021 23:08:28 +0000 (23:08 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'

paned: Don't pass values < -1 to gtk_widget_measure()

Closes #4404

See merge request GNOME/gtk!4126

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Fri, 5 Nov 2021 22:11:00 +0000 (22:11 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Revert "label: Never measure more than max-width-chars"

Closes #4399

See merge request GNOME/gtk!4120

4 years agopicture: Setting can-shrink requires a resize
Benjamin Otte [Fri, 5 Nov 2021 19:51:00 +0000 (20:51 +0100)]
picture: Setting can-shrink requires a resize

So queue one.

4 years agoMerge branch 'yurchor-master-patch-77064' into 'master'
Matthias Clasen [Fri, 5 Nov 2021 19:41:05 +0000 (19:41 +0000)]
Merge branch 'yurchor-master-patch-77064' into 'master'

Fix minor typo: Unsupportd -> Unsupported

See merge request GNOME/gtk!4127

4 years agoboxlayout: Compute opposite size properly
Benjamin Otte [Fri, 5 Nov 2021 19:30:49 +0000 (20:30 +0100)]
boxlayout: Compute opposite size properly

For size -1 in the opposite orientation, GtkBoxLayout used to measure
the children based on their min size in the box's orientation instead of
-1. That wasn't really intended, but was a side effect of how the sizing
code did (not) distribute extra size above the minimum size.

This is clearly not what we want.
What we want is measuring the orientation as is for size -1. Then we
want to just take the maximum of all children and use that.

A reftest is incldued that ensures a vbox wraps a label just like an
hbox does.

4 years agolabel: Redo measure() code
Benjamin Otte [Thu, 4 Nov 2021 14:56:37 +0000 (15:56 +0100)]
label: Redo measure() code

The old code couldn't properly do height-for-width because it only
computed the widest and smallest layout instead of looking at the actual
passed in for-size.

The label-sizing reftest has been adapted as the label code is now smart
enough to always display the whole text and no longer requests a too
small width-for-single-row when wrapping.

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 5 Nov 2021 18:46:16 +0000 (18:46 +0000)]
Update Ukrainian translation

4 years agoFix minor typo: Unsupportd -> Unsupported
Yuri Chornoivan [Fri, 5 Nov 2021 18:42:20 +0000 (18:42 +0000)]
Fix minor typo: Unsupportd -> Unsupported

4 years agoMerge branch 'wip/carlosg/no-ping-serials-for-input' into 'master'
Matthias Clasen [Fri, 5 Nov 2021 18:34:02 +0000 (18:34 +0000)]
Merge branch 'wip/carlosg/no-ping-serials-for-input' into 'master'

gdk/wayland: Do not use xdg_wm_base.ping serials as "user input" serials

See merge request GNOME/gtk!4122

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 5 Nov 2021 18:31:16 +0000 (18:31 +0000)]
Update Ukrainian translation

4 years agopaned: Don't pass values < -1 to gtk_widget_measure()
Timm Bäder [Fri, 5 Nov 2021 16:41:08 +0000 (17:41 +0100)]
paned: Don't pass values < -1 to gtk_widget_measure()

Fixes #4404

4 years agoremove some unused declarations
Caolán McNamara [Fri, 5 Nov 2021 14:03:47 +0000 (14:03 +0000)]
remove some unused declarations